home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / t3_1 / sources.lha / sources / sys / unix_time.t < prev    next >
Text File  |  1988-02-05  |  2KB  |  56 lines

  1. (herald untime (env tsys))
  2.  
  3. ;;; Copyright (c) 1985 Yale University
  4. ;;;     Authors: N Adams, R Kelsey, D Kranz, J Philbin, J Rees.
  5. ;;; This material was developed by the T Project at the Yale University Computer 
  6. ;;; Science Department.  Permission to copy this software, to redistribute it, 
  7. ;;; and to use it for any purpose is granted, subject to the following restric-
  8. ;;; tions and understandings.
  9. ;;; 1. Any copy made of this software must include this copyright notice in full.
  10. ;;; 2. Users of this software agree to make their best efforts (a) to return
  11. ;;;    to the T Project at Yale any improvements or extensions that they make,
  12. ;;;    so that these may be included in future releases; and (b) to inform
  13. ;;;    the T Project of noteworthy uses of this software.
  14. ;;; 3. All materials developed as a consequence of the use of this software
  15. ;;;    shall duly acknowledge such use, in accordance with the usual standards
  16. ;;;    of acknowledging credit in academic research.
  17. ;;; 4. Yale has made no warrantee or representation that the operation of
  18. ;;;    this software will be error-free, and Yale is under no obligation to
  19. ;;;    provide any services, by way of maintenance, update, or otherwise.
  20. ;;; 5. In conjunction with products arising from the use of this material,
  21. ;;;    there shall be no use of the name of the Yale University nor of any
  22. ;;;    adaptation thereof in any advertising, promotional, or sales literature
  23. ;;;    without prior written consent from Yale in each case.
  24. ;;;
  25.  
  26. ;*** Internal Time Constants (Implementation Dependent)
  27. ;*** ============================================================
  28. (define-constant *internal-time-units-per-second* 1)
  29. (define-constant *internal-base-date* "1 January 1970 00:00:00 GMT")
  30.  
  31. ;*** Internal Time and Date routines (Implementation Dependent)
  32. ;*** ============================================================
  33.  
  34. (define get-time
  35.   (let ((itime (unix-gettimeofday (make-unix-time)
  36.                                   (make-unix-time-zone))))
  37.         (dtime nil))
  38.     (object nil
  39.       ((decode-time self) ...)
  40.       ((time->string self fmt) ...)
  41.       ((print self)...)
  42.  
  43.  
  44.  
  45. ;*** Timer stuff
  46.  
  47. ;*** (USLEEP N)
  48. ;*** =========================================================================
  49. ;*** Sleep for N micro-secs.
  50. ;***
  51. (define (usleep n)
  52.   (if (pointer-less? (xcall *usleep-xenoid* 0 (fixnum->pointer n))
  53.                  (fixnum->pointer 0))
  54.       (unix-error)
  55.       T))
  56.